package pw_coding

import (
	"path/filepath"
	"sasuke/config"
	"sasuke/pw_date"
	"sasuke/tmpl"
)

var (
	GO_FILE_SUFFIX=".go"
)

// C#语言基结构
type LangGO struct{
	LangBase
}

// 类结构
type LangGO_Type struct {
	LangGO
	NameSpace string	// 命名空间
	ClassCode string	// 类名
	ClassName string	// 类名称
}

func New_LangGO_TYPE()*LangGO_Type{
	r:=&LangGO_Type{}
	r.Author=config.TOOL_AUTHOR
	r.CreatedDate=pw_date.PW_Now_New().NormalFmt()
	return r
}

func New_LangGO_Type_ByCode(code string)*LangGO_Type{
	r:=New_LangGO_TYPE()
	// 截取最后一段目录
	lastdir := filepath.Base(r.GetWorkDir())
	r.NameSpace=lastdir
	r.ClassCode=code
	r.ClassName="类名"
	return r
}

func (l *LangGO_Type) GetFileName() string {
	return l.ClassCode+GO_FILE_SUFFIX
}

func (l *LangGO_Type) GetTemplate() (string,string) {
	return tmpl.GO_TYPE_TEMPLE_NAME,tmpl.GO_TYPE_TEMPLE
}
